#define _GNU_SOURCE
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include "zepto.h"
#include "gc.h"

void *zepto_alloc_general(size_t size)
{
  void *res;

  WITH_GC(res = malloc(size), res, "general allocation");

  return res;
}

wchar_t *zepto_wcsdup(const wchar_t *str)
{
  wchar_t *res;

  WITH_GC(res = wcsdup(str), res, "string duplication");

  return res;
}
/*
struct zepto *zepto_alloc(void)
{
  // TODO:
  struct zepto *res;
  
  res = zepto_alloc_general(sizeof(struct zepto));
  
  return res;
}
*/

// TODO:
void zepto_gc(void)
{

}
